/**
 * 字节数转化合适的单位  最多保留2位小数,四舍五入
 * @param v int|string 字节数  大数可忽略精度问题
 * @return string  '':参数异常
 */
$.byte = function(v){
	const UNIT = ',K,M,G,T,P,E,Z,Y,B,N,D,C,X'.split(',');
	$.byte = function(v){
		if(!v) return v===0?'0B':'';  v+='';  let n;
		let m='';  if(v[0]==='-'){ m='-'; v=v.slice(1); }
		if(!/\d+/.test(v)) return ''; v=v.replace(/^0+/,'');
		if(!v) return '0B'; n=Math.log(v)/6.931471805599453;
		n=Math.floor(n); if(n>=UNIT.length) n=UNIT.length-1;
		v = Math.round((v/Math.pow(1024,n))*100)/100;
		return m + v + UNIT[n] + 'B';
	};
	return $.byte(v);
};
